/**
 * @description 消息提示框的公共方法
 * @param {*} title 提示 
 * @param {*} icon 图标 
 * @param {*} mask 是否带上蒙层 
 *  @param {*} duration 延迟时间 
 */
const toast=({title='数据加载中...',icon='none',mask=true,duration=2000}={})=>{
  wx.showToast({
    title,
    icon,
    mask,
    duration
  })
}

/**
 *  @description 模态对话框
 * @param {*} options 传过来的对象参数
 */
const modal=(options={})=>{
  //使用promise方式异步请求
  //接受返回结果
  return new Promise((resolve)=>{
    //定义默认的参数对象
    const optDefault={
      title:'提示',
      content:'你确定要执行改操作吗',
      confirmColor:'#f3514f'
    }
    //合并，如果自己传过来的，就会覆盖默认的 意思就是把第二个和第三个合并在第一个空对象里面
    const opt=Object.assign({},optDefault,options);
    //调用wx.Modal方法
    wx.showModal({
      ...opt,
      complete: ({confirm,cancel}) => {
        confirm && resolve(true);
        cancel && resolve(false);
      }
    })
  })
}

//挂载在wx全局上
wx.toast=toast
wx.modal=modal
//导出(暴露)
export {toast,modal}
